Applications and computing services are often made available over the Internet or other computer networks. Content providers, application providers, and/or computing service providers often utilize remote computing services to providing access to electronic resources, such as web services. Electronic resources may include processing services, memory services, storage services, networking services and generally any computing services supported by a hardware substrate that is hosted in a computing service environment. Often the hardware and/or software used to support the desired services are dynamically scalable to meet the changing load for the services at any given time. Users, for example, may rent, lease, or otherwise pay for access to networked computing resources and computing services, and thus reduce the burden of providing local hardware and/or software for computing services, as compared with implementations without network accessible computing services.
As an example of increased utilization of network accessible computing resources provided via a data center, virtualization technologies can allow a single physical computing machine to host one or more instances of virtual machines that appear and operate as independent machines to a connected computer user. With virtualization, the single physical computing device can create, maintain or delete virtual machines in a dynamic manner. In turn, users can request computer resources from a data center and be provided with varying numbers of virtual machine resources on an “as needed” basis or at least on an “as requested” basis. Each virtual machine may execute one or more applications, such as a web server, video encoder, load balancer, or database, among many other possibilities.